package com.sg.controller.bff;

import com.sg.service.biz.bff.EvaThemeService;
import com.sg.dto.biz.bff.req.*;
import com.sg.dto.biz.bff.res.*;
import com.sg.common.ro.OkrResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Api(value = "EvaTheme", tags = {"EvaTheme"})
@RestController
// @RequestMapping("/oms/evaTheme/")
public class EvaThemeController {

    @Autowired
    EvaThemeService evaThemeService;

    /**
     * B3-2新增评价模板(管理)
     * gen by moon at 10/2/2022, 11:27:57 PM
     */
    @PostMapping("/oms/mgt/evaTheme/addEvaTemp")
    @ApiOperation(value = "B3-2新增评价模板(管理)", response = OkrResult.class)
    public OkrResult<BffAddEvaTempRespDto> addEvaTemp(@RequestBody(required = false) @Validated BffAddEvaTempReqDto reqDTO) {
        return OkrResult.success(evaThemeService.addEvaTemp(reqDTO));
    }

    /**
     * B3-2新增评价画像相关(管理)
     * gen by moon at 10/11/2022, 3:09:19 PM
     */
    @PostMapping("/oms/mgt/evaTheme/addEvaPortraitRelated")
    @ApiOperation(value = "B3-2新增评价画像相关(管理)", response = OkrResult.class)
    public OkrResult<BffAddEvaPortraitRelatedRespDto> addEvaPortraitRelated(@RequestBody(required = false) @Validated BffAddEvaPortraitRelatedReqDto reqDTO) {
        return OkrResult.success(evaThemeService.addEvaPortraitRelated(reqDTO));
    }

    /**
     * B3-3新增评价模板判断(管理)
     * gen by moon at 12/9/2022, 2:27:56 PM
     */
    @PostMapping("/oms/mgt/evaTheme/queryAddEvaTempJudgeDetail")
    @ApiOperation(value = "B3-3新增评价模板判断(管理)", response = OkrResult.class)
    public OkrResult<BffQueryAddEvaTempJudgeDetailRespDto> queryAddEvaTempJudgeDetail(@RequestBody(required = false) @Validated BffQueryAddEvaTempJudgeDetailReqDto reqDTO) {
        return OkrResult.success(evaThemeService.queryAddEvaTempJudgeDetail(reqDTO));
    }

    /**
     * B3-3返回新增评价模板第一步
     * gen by moon at 10/17/2022, 10:42:29 AM
     */
    @PostMapping("/oms/evaTheme/backToFirstStepEvaTemp")
    @ApiOperation(value = "B3-3返回新增评价模板第一步", response = OkrResult.class)
    public OkrResult<BffBackToFirstStepEvaTempRespDto> backToFirstStepEvaTemp(@RequestBody(required = false) @Validated BffBackToFirstStepEvaTempReqDto reqDTO) {
        return OkrResult.success(evaThemeService.backToFirstStepEvaTemp(reqDTO));
    }

    /**
     * B3执行高层人工设置完成(管理)
     * gen by moon at 12/29/2022, 9:53:14 PM
     */
    @PostMapping("/oms/mgt/evaTheme/implementMidManualSetComplet")
    @ApiOperation(value = "B3执行高层人工设置完成(管理)", response = OkrResult.class)
    public OkrResult<BffImplementMidManualSetCompletRespDto> implementMidManualSetComplet(@RequestBody(required = false) @Validated BffImplementMidManualSetCompletReqDto reqDTO) {
        return OkrResult.success(evaThemeService.implementMidManualSetComplet(reqDTO));
    }

    /**
     * B3-3查询评价模板当前特权管理状态(管理)
     * gen by moon at 2/6/2023, 7:30:52 PM
     */
    @PostMapping("/oms/mgt/evaTheme/queryEvaTempPresentIsSuperMgtStateDetail")
    @ApiOperation(value = "B3-3查询评价模板当前特权管理状态(管理)", response = OkrResult.class)
    public OkrResult<BffQueryEvaTempPresentIsSuperMgtStateDetailRespDto> queryEvaTempPresentIsSuperMgtStateDetail(@RequestBody(required = false) @Validated BffQueryEvaTempPresentIsSuperMgtStateDetailReqDto reqDTO) {
        return OkrResult.success(evaThemeService.queryEvaTempPresentIsSuperMgtStateDetail(reqDTO));
    }

    /**
     * B3执行评价模板新增条件判断(管理)
     * gen by moon at 5/6/2023, 3:11:19 PM
     */
    @PostMapping("/oms/mgt/evaTheme/implementEvaTempAddTermJudge")
    @ApiOperation(value = "B3执行评价模板新增条件判断(管理)", response = OkrResult.class)
    public OkrResult<BffImplementEvaTempAddTermJudgeRespDto> implementEvaTempAddTermJudge(@RequestBody(required = false) @Validated BffImplementEvaTempAddTermJudgeReqDto reqDTO) {
        return OkrResult.success(evaThemeService.implementEvaTempAddTermJudge(reqDTO));
    }
}
